package com.fh.service.system.user;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.fh.dao.DaoSupport;
import com.fh.entity.Page;
import com.fh.entity.system.User;
import com.fh.util.PageData;


@Service("userService")
public class UserService {

	@Resource(name = "daoSupport")
	private DaoSupport dao;
	
	//======================================================================================
	
	/*
	* 通过id获取数据
	*/
	public PageData findByUiId(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByUiId", pd);
	}

	/*
	* 通过TOKEN获取数据
	*/
	public PageData findByToken(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByToken", pd);
	}
	/*
	* 通过loginname获取数据
	*/
	public PageData findByUId(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByUId", pd);
	}
	/*
	* 通过loginname获取数据
	*/
	public PageData findByUIdSave(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByUIdSave", pd);
	}

	/*
	* 通过邮箱获取数据
	*/
	public PageData findByUE(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByUE", pd);
	}

	/*
	* 通过用户名获取数据
	*/
	public PageData findByUserName(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByUserName", pd);
	}
	
	/*
	* 通过编号获取数据
	*/
	public PageData findByUN(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByUN", pd);
	}
	
	/*
	* 保存用户
	*/
	public void saveU(PageData pd)throws Exception{
		dao.save("UserXMapper.saveU", pd);
	}

	/*
	* 注册用户
	*/
	public void register(PageData pd)throws Exception{
		dao.save("UserXMapper.register", pd);
		dao.save("UserXMapper.saveInitAuth", pd);
	}
	/*
	* 修改用户
	*/
	public void editU(PageData pd)throws Exception{
		dao.update("UserXMapper.editU", pd);
	}
	/*
	* 修改密码
	*/
	public void forgetPassword(PageData pd)throws Exception{
		dao.update("UserXMapper.forgetPassword", pd);
	}
	/*
	* 换皮肤
	*/
	public void setSKIN(PageData pd)throws Exception{
		dao.update("UserXMapper.setSKIN", pd);
	}
	/*
	* 删除用户
	*/
	public void deleteU(PageData pd)throws Exception{
		dao.delete("UserXMapper.deleteU", pd);
	}
	/*
	* 批量删除用户
	*/
	public void deleteAllU(String[] USER_IDS)throws Exception{
		dao.delete("UserXMapper.deleteAllU", USER_IDS);
	}
	/*
	*用户列表(用户组)
	*//*
	public List<PageData> listPdPageUser(Page page)throws Exception{
		return (List<PageData>) dao.findForList("UserXMapper.userlistPage", page);
	}*/


	/*
	*用户列表(用户组)
	*/
	public List<PageData> listPdPageUser(Page page)throws Exception{
		return (List<PageData>) dao.findForList("UserXMapper.userlistPage", page);
	}


	
	/*
	*用户列表(全部)
	*/
	public List<PageData> listAllUser(PageData pd)throws Exception{
		return (List<PageData>) dao.findForList("UserXMapper.listAllUser", pd);
	}
	
	/*
	*用户列表(供应商用户)
	*/
	public List<PageData> listGPdPageUser(Page page)throws Exception{
		return (List<PageData>) dao.findForList("UserXMapper.userGlistPage", page);
	}
	/*
	* 保存用户IP
	*/
	public void saveIP(PageData pd)throws Exception{
		dao.update("UserXMapper.saveIP", pd);
	}
	
	/*
	* 登录判断
	*/
	public PageData getUserByNameAndPwd(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.getUserInfo", pd);
	}
	/*
	* 跟新登录时间
	*/
	public void updateLastLogin(PageData pd)throws Exception{
		dao.update("UserXMapper.updateLastLogin", pd);
	}
	/*
	* 更新用户cid
	*/
	public void updateCID(PageData pd)throws Exception{
		dao.update("UserXMapper.updateCID", pd);
	}
	
	/*
	*通过id获取数据
	*/
	public User getUserAndRoleById(String USER_ID) throws Exception {
		return (User) dao.findForObject("UserMapper.getUserAndRoleById", USER_ID);
	}


/*============修改登陆*/
	/*
	* 通过用户获取数据
	*/
	public PageData findByCID(PageData pd)throws Exception{
		return (PageData)dao.findForObject("UserXMapper.findByCID", pd);
	}



/*============修改登陆*/

	/**
	 * 获取所有用户，为了 ztree
	 * @param pd
	 * @return
	 */
	public List<PageData> listForZtree(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("UserXMapper.listForZtree",pd);
	}
	/*
   * 通过id获取登陆用户数据（用户管理）
   */
	public PageData findByUserId(PageData pd) throws Exception {
		return (PageData) dao.findForObject("UserXMapper.findByUserId", pd);
	}


	/*
* 通过id获取登陆用户数据(账户设置)
*/
	public PageData findByUserIdone(PageData pd) throws Exception {
		return (PageData) dao.findForObject("UserXMapper.findByUserIdone", pd);
	}



	/*
    *修改用户信息
    */
	public void edit(PageData pd) throws Exception {
		dao.update("UserXMapper.edit", pd);
	}


	/*
    *修改用户信息
    */
	public void edituser(PageData pd) throws Exception {
		dao.update("UserXMapper.edituser", pd);
	}


	/*
    *修改用户信息
    */
	public void dele(PageData pd) throws Exception {
		dao.update("UserXMapper.dele", pd);
	}

	//===================================================================================================
	/*
	 *返回全微信公众号管理 是否授权绑定指定合同
	 */
	public List<PageData> findWeixinUser(Page page)throws Exception{
		return (List<PageData>) dao.findForList("UserXMapper.findWeixinUser", page);
	}
	/*
	 *公众号关联处理ajax
	 */
	public void weixin_open(PageData pd) throws Exception {
		dao.update("UserXMapper.weixin_open", pd);
	}


}
